सी प्रोग्रामिंग भाषा का परिचय और चर की परिभाषा
C भाषा और वेरिएबल्स क्या हैं?
C भाषा का परिचय
C भाषा का इतिहास
C भाषा की शुरुआत 1972 में डेनिस रिची (Dennis Ritchie) ने Bell Labs में की थी। इसका मुख्य उद्देश्य UNIX ऑपरेटिंग सिस्टम को विकसित करना था। यह भाषा B और BCPL भाषाओं से विकसित की गई है। शुरुआत में इसे केवल सिस्टम प्रोग्रामिंग के लिए उपयोग किया गया, लेकिन इसकी शक्तिशाली विशेषताओं के कारण यह जल्दी ही सामान्य उपयोग की भाषा बन गई।
C भाषा को "मिड-लेवल लैंग्वेज" कहा जाता है क्योंकि यह हाई-लेवल और लो-लेवल दोनों के गुणों को समेटे हुए है। इसमें हम हार्डवेयर के नजदीक जाकर प्रोग्रामिंग कर सकते हैं और साथ ही आसान लॉजिक भी बना सकते हैं। इसकी इसी खासियत के चलते यह आज भी दुनियाभर में शिक्षा, रिसर्च और प्रोफेशनल डेवलपमेंट में व्यापक रूप से उपयोग होती है।
आज के समय में C भाषा का महत्त्व
आज हम Python, Java, या JavaScript जैसे हाई-लेवल लैंग्वेज़ का ज़िक्र करते हैं, लेकिन इनमें से अधिकतर की नींव C पर ही टिकी हुई है। C की गहराई से जानकारी रखने वाला प्रोग्रामर आसानी से अन्य भाषाएं भी सीख सकता है। C भाषा आज भी ऑपरेटिंग सिस्टम, डिवाइस ड्राइवर, और एम्बेडेड सिस्टम में उपयोग हो रही है।
इसके अलावा, कॉलेजों और यूनिवर्सिटियों में प्रोग्रामिंग की शुरुआत C भाषा से ही कराई जाती है क्योंकि इससे छात्रों को मेमोरी मैनेजमेंट, डेटा स्ट्रक्चर, और एल्गोरिदम की बुनियादी समझ मिलती है।
C भाषा और वेरिएबल्स क्या हैं?
C में वेरिएबल्स के प्रकार
लोकल वेरिएबल्स
लोकल वेरिएबल्स ऐसे वेरिएबल्स होते हैं जिन्हें किसी विशेष फंक्शन या कोड ब्लॉक के भीतर घोषित किया जाता है, और इनका प्रभाव केवल उसी स्थान तक सीमित रहता है जहाँ इन्हें बनाया गया है। जैसे ही ब्लॉक का निष्पादन पूरा होता है, ये वेरिएबल्स स्वतः समाप्त हो जाते हैं।
उदाहरण:
यहाँ a
एक लोकल वेरिएबल है और केवल show()
फ़ंक्शन के अंदर ही उपयोग किया जा सकता है।
ग्लोबल वेरिएबल्स
ग्लोबल वेरिएबल्स को सभी फ़ंक्शन के बाहर डिक्लेयर किया जाता है और ये पूरे प्रोग्राम में कहीं से भी एक्सेस किए जा सकते हैं। इनका स्कोप पूरे प्रोग्राम के दौरान बना रहता है और इनकी वैल्यू को किसी भी फ़ंक्शन से बदला जा सकता है।
उदाहरण:
ध्यान रहे कि ग्लोबल वेरिएबल्स का अत्यधिक उपयोग कोड को जटिल बना सकता है और डिबगिंग मुश्किल हो जाती है।
स्टैटिक वेरिएबल्स
स्टैटिक वेरिएबल्स एक बार डिक्लेयर होने के बाद उनकी वैल्यू को रिटेन रखते हैं यानी अगली बार भी उसी वैल्यू से शुरू होते हैं जहाँ पिछली बार छोड़ा गया था। इनका स्कोप लोकल होता है लेकिन लाइफटाइम पूरे प्रोग्राम तक बना रहता है।
उदाहरण:
हर बार count()
कॉल करने पर x
की वैल्यू 1 से बढ़ती जाएगी।
रजिस्टर वेरिएबल्स
register
स्टोरेज क्लास का उपयोग उन वेरिएबल्स के लिए किया जाता है जिनकी बार-बार ज़रूरत होती है। इन्हें CPU के रजिस्टर में रखा जाता है ताकि एक्सेस स्पीड तेज़ हो। हालांकि आज के आधुनिक कंपाइलर अपने आप अनुकूलित करते हैं।
उदाहरण:
वेरिएबल्स के साथ डेटा टाइप्स
int, float, char, double
C भाषा में अलग-अलग प्रकार के डेटा को स्टोर करने के लिए कई प्रकार के डेटा टाइप्स होते हैं:
-
int
– पूर्णांक जैसे 1, 2, -5 -
float
– दशमलव संख्या जैसे 3.14 -
char
– कोई एक कैरेक्टर जैसे 'A' -
double
– float से अधिक सटीकता वाले दशमलव नंबर
उदाहरण:
डेराइव्ड और यूज़र-डिफाइंड टाइप्स
-
डेराइव्ड टाइप्स – arrays, pointers, functions
-
यूज़र डिफाइंड टाइप्स –
struct
,union
,enum
,typedef
उदाहरण:
ये टाइप्स प्रोग्राम को ज़्यादा संगठित और शक्तिशाली बनाते हैं।
वेरिएबल नामकरण नियम और कन्वेंशन
सिंटैक्स नियम
-
नाम केवल अक्षरों, अंकों और अंडरस्कोर (
_
) से बना हो सकता है -
नाम किसी अक्षर या
_
से शुरू होना चाहिए -
कोई भी कीवर्ड (जैसे
int
,while
) नाम नहीं हो सकता -
नाम केस सेंसिटिव होते हैं (
value
औरValue
अलग माने जाएंगे)
सही उदाहरण:
-
studentName
-
_count
-
total_marks
गलत उदाहरण:
-
2value
(अंक से शुरू नहीं हो सकता) -
float
(कीवर्ड है)
बेस्ट प्रैक्टिसेज
-
वर्णनात्मक नामों का उपयोग करें जैसे
userAge
याtotalAmount
-
camelCase या snake_case में नाम लिखना अच्छा अभ्यास है
-
लूप्स में छोटे नाम (
i
,j
) चल सकते हैं लेकिन बाकी जगह स्पष्ट नाम रखें
वेरिएबल्स का स्कोप और लाइफटाइम
स्कोप क्या होता है?
स्कोप का अर्थ होता है कि प्रोग्राम के किन हिस्सों में वेरिएबल को एक्सेस किया जा सकता है। C में तीन प्रकार के स्कोप होते हैं:
-
लोकल स्कोप – फ़ंक्शन या ब्लॉक के अंदर
-
ग्लोबल स्कोप – पूरे प्रोग्राम में
-
फ़ंक्शन पैरामीटर स्कोप – फंक्शन के अंदर पास किए गए वेरिएबल्स
वेरिएबल की लाइफटाइम समझना
लाइफटाइम उस समय को कहते हैं जब तक वेरिएबल की वैल्यू मेमोरी में बनी रहती है:
-
लोकल वेरिएबल – फ़ंक्शन समाप्त होते ही खत्म
-
स्टैटिक वेरिएबल – पूरे प्रोग्राम तक बनी रहती है
-
ग्लोबल वेरिएबल – प्रोग्राम की शुरुआत से अंत तक रहती है
यह समझना आवश्यक है ताकि अनचाही गलतियों से बचा जा सके।
स्टोरेज क्लासेस और वेरिएबल्स
auto, static, extern, register
C में स्टोरेज क्लास यह निर्धारित करती है कि वेरिएबल की लाइफटाइम, स्कोप, और डिफ़ॉल्ट वैल्यू क्या होगी। मुख्यतः चार प्रकार की स्टोरेज क्लास होती हैं:
-
auto: यह डिफ़ॉल्ट स्टोरेज क्लास है किसी भी लोकल वेरिएबल के लिए। इसकी लाइफटाइम फ़ंक्शन के भीतर ही रहती है।
-
स्टैटिक वेरिएबल्स पूरे प्रोग्राम की अवधि तक मेमोरी में बने रहते हैं, लेकिन इन्हें केवल उसी कोड ब्लॉक के भीतर एक्सेस किया जा सकता है जहाँ इन्हें घोषित किया गया हो।
-
extern: इसका उपयोग किसी वेरिएबल को एक फाइल में डिक्लेयर करने और दूसरी फाइल में उपयोग करने के लिए किया जाता है।
-
register: रजिस्टर वेरिएबल्स को CPU के रजिस्टर में स्टोर करने की सलाह दी जाती है ताकि उनकी एक्सेस स्पीड अधिक हो, हालांकि आज के आधुनिक कंपाइलर इस निर्णय को स्वतः ही प्रबंधित करते हैं।
स्टोरेज क्लास का व्यवहार पर प्रभाव
स्टोरेज क्लास निम्नलिखित पहलुओं को प्रभावित करती है:
-
वेरिएबल कहां एक्सेस हो सकता है (स्कोप)
-
कितनी देर तक मेमोरी में रहेगा (लाइफटाइम)
-
प्रोग्राम में उसकी डिफ़ॉल्ट वैल्यू क्या होगी
उदाहरण के लिए, static वेरिएबल पहले की वैल्यू को याद रखता है जबकि auto हर बार नई वैल्यू लेता है।
कांस्टेंट्स बनाम वेरिएबल्स
कांस्टेंट्स क्या होते हैं?
कांस्टेंट्स वे वैल्यूज़ होती हैं जो प्रोग्राम के निष्पादन के दौरान कभी नहीं बदलतीं। इन्हें वेरिएबल्स की तरह इस्तेमाल किया जाता है लेकिन इनकी वैल्यू को संशोधित नहीं किया जा सकता।
उदाहरण:
या फिर प्री-प्रोसेसर का उपयोग करके:
कब वेरिएबल्स की जगह कांस्टेंट का उपयोग करें?
-
जब कोई वैल्यू पूरे प्रोग्राम में अपरिवर्तनीय हो (जैसे PI, MAX_LIMIT)
-
जब आप चाहते हैं कि कोई डेवलपर गलती से उस वैल्यू को न बदल दे
-
जब कोड को अधिक पढ़ने योग्य और सुरक्षित बनाना हो
कांस्टेंट्स कोड में स्थिरता और स्पष्टता लाते हैं।
वेरिएबल इनिशियलाइज़ेशन तकनीकें
कंपाइल-टाइम बनाम रन-टाइम इनिशियलाइज़ेशन
C में वेरिएबल्स को दो तरीकों से इनिशियलाइज़ किया जा सकता है:
-
कंपाइल-टाइम इनिशियलाइज़ेशन – जब वेरिएबल को डिक्लेयर करते समय ही वैल्यू दे दी जाती है:
-
रन-टाइम इनिशियलाइज़ेशन – जब वेरिएबल को प्रोग्राम चलने के दौरान वैल्यू दी जाती है, जैसे यूज़र इनपुट से:
सामान्य गलतियाँ
-
वेरिएबल को बिना इनिशियलाइज़ किए उपयोग करना
-
एक ही नाम के वेरिएबल को अलग-अलग स्कोप में गलतफहमी से डिक्लेयर करना
-
अनावश्यक इनिशियलाइज़ेशन जिससे मेमोरी बर्बाद होती है
सुझाव: हमेशा वेरिएबल को एक निश्चित वैल्यू से इनिशियलाइज़ करें, ताकि अप्रत्याशित व्यवहार से बचा जा सके।
मेमोरी मैनेजमेंट और वेरिएबल्स
मेमोरी एलोकेशन तकनीकें
C में आप dynamic memory allocation भी कर सकते हैं जिससे आप रन-टाइम पर मेमोरी को कंट्रोल कर सकते हैं। इसके लिए निम्नलिखित फंक्शन्स का उपयोग किया जाता है:
-
malloc()
-
calloc()
-
realloc()
-
free()
उदाहरण:
पॉइंटर्स के साथ वेरिएबल्स का उपयोग
पॉइंटर एक विशेष प्रकार का वेरिएबल होता है, जो किसी अन्य वेरिएबल के मेमोरी एड्रेस को स्टोर करता है। यह प्रोग्राम को मेमोरी तक डायनामिक रूप से पहुँचने की क्षमता प्रदान करता है।
उदाहरण:
पॉइंटर्स का सही उपयोग करने से प्रोग्राम की कार्यक्षमता और परफॉर्मेंस में सुधार होता है।
___________________________________________________________________________________
चैप्टर के सारे प्रश्न उत्तर यहीं से शुरू होते हैं
महत्वपूर्ण तथ्य
-
1. महत्वपूर्ण तथ्य
2. C भाषा को सन 1972 में डेनिस रिची द्वारा विकसित किया गया था।
3. C भाषा मध्य स्तरीय भाषा (middle level programming language) है।
4. C भाषा को सबसे पहले यूनिक्स ऑपरेटिंग सिस्टम में डायनामिक मेमोरी एलोकेशन (DMA) के लिए उपयोग किया गया था।
5. C भाषा एक संवेदनशील (case sensitive) भाषा है।
6. C भाषा में लिखे गए प्रोग्राम को संकलित (compile) किया जाता है।
7. C भाषा में कोड के विषय में जानने के लिए टिप्पड़ी का प्रयोग किया जाता है।
8. C भाषा में किसी एक variable को कई बार घोषित नहीं किया जा सकता।
9. C भाषा में सामान्यतः ASCII कोड का प्रयोग किया जाता है।
10. C भाषा द्वारा MySQL, आर्टिफिशियल इंटेलिजेंस, गेम्स, सिस्टम प्रोग्राम आदि बनाने में किया जाता है।
11. C भाषा में विभिन्न control structure के द्वारा प्रोग्राम को नियंत्रित किया जाता है।
12. C भाषा में कुल चार प्रकार के डेटा टाइप होते हैं।
13. C भाषा में मूलभूत प्रकार के डेटा टाइप होते हैं।
14. C भाषा में डेटा टाइप एक प्रकार होता है।
15. C भाषा में संक्रियाओं के आधार पर ऑपरेटर तीन प्रकार के होते हैं।
16. C भाषा में तार्किक ऑपरेटर में && और || का प्रयोग किया जाता है।
17. C भाषा में गणनात्मक ऑपरेटर होते हैं।
18. C भाषा में असाइनमेंट ऑपरेटर का प्रयोग गणितीय मानों को संग्रहीत करने के लिए किया जाता है।
19. C भाषा में असाइनमेंट ऑपरेटर द्वारा Variable को Value में असाइन करने के लिए किया जाता है।
20. C भाषा में तुलनात्मक ऑपरेटर होते हैं।
21. C भाषा में इनपुट आउटपुट स्टेटमेंट होते हैं।
22. इनपुट आउटपुट स्टेटमेंट को स्टेटमेंट कहा जाता है।
23. getchar() function एक character को इनपुट करता है।
24. getch() function एक character को इनपुट करता है तथा इनपुट करने के पश्चात उसे दिखाता नहीं है।
25. gets() function एक string को इनपुट करता है।
26. puts() function एक string को आउटपुट करता है।
27. scanf() function एक या अधिक मानों को इनपुट करता है।
28. printf() function एक या अधिक मानों को आउटपुट करता है।
29. C भाषा में जो स्टेटमेंट स्वतः समाप्त हो जाते हैं उन्हें सिंपल स्टेटमेंट कहते हैं।
30. C भाषा में तीन प्रकार के अन्य स्टेटमेंट होते हैं।
31. ऐसे स्टेटमेंट जो किसी जाने या आधार पर किसी भी प्रोग्राम के क्रम को बदल देते हैं ब्रांचिंग स्टेटमेंट कहलाते हैं।
32. C भाषा में लूप्स (loops) का उपयोग कोड को एक ब्लॉक में दोहराने के लिए किया जाता है।
33. C भाषा में मुख्यतः तीन प्रकार के लूप होते हैं।
34. for लूप के अंदर के स्टेटमेंट्स execute होने से पहले ही कंडीशन चेक हो जाती है।
प्रश्न 1: 'C' भाषा के बुनियादी तत्व क्या हैं? इनकी व्याख्या कीजिए।
उत्तर: 'C'
भाषा के बुनियादी तत्व वे मूल घटक हैं जिनकी सहायता से एक पूर्ण प्रोग्राम तैयार किया जाता है। ये तत्व प्रोग्राम की संरचना को निर्धारित करते हैं और इनकी जानकारी हर एक प्रोग्रामर के लिए आवश्यक होती है। 'C' भाषा के मुख्य बुनियादी तत्व निम्नलिखित हैं:
1.
कैरेक्टर सेट (Character Set): इसमें अक्षर (A-Z, a-z), अंक (0-9), विशेष चिन्ह (@, #, $, %, ^ आदि), और अन्य प्रतीक शामिल होते हैं जिनका उपयोग कोड लिखने में किया जाता है।
2.
कीवर्ड (Keywords): ये आरक्षित शब्द होते हैं जिनका प्रयोग प्रोग्राम में किसी विशेष कार्य के लिए किया जाता है। उदाहरण: int
, float
, if
, else
, return
आदि।
3.
वैरिएबल (Variable): वैरिएबल एक नामित स्थान होता है जो किसी डेटा को अस्थायी रूप से संग्रहित करता है। उदाहरण: int a = 5;
4.
डेटा टाइप (Data Types): यह तय करता है कि वैरिएबल में किस प्रकार का डेटा संग्रहित होगा। मुख्यतः int
, float
, char
, double
आदि प्रकार होते हैं।
5.
ऑपरेटर (Operators): ये चिन्ह होते हैं जो गणनात्मक, तार्किक या संबंधात्मक कार्य करते हैं। जैसे +, -, *, /, <, >, == आदि।
6.
स्टेटमेंट्स (Statements): ये निर्देश होते हैं जिनसे प्रोग्राम में विभिन्न क्रियाएं संपन्न होती हैं। उदाहरण: printf("Hello");
7.
फंक्शन (Functions): ये कोड ब्लॉक्स होते हैं जिनसे विशेष कार्य करवाए जाते हैं। main()
C का मुख्य फंक्शन होता है।
प्रश्न 2: 'C' भाषा में वेरिएबल (Variable) की अवधारणा की व्याख्या कीजिए।
उत्तर: 'C'
भाषा में वैरिएबल वह नामित स्थान होता है जहाँ डेटा को संग्रहित किया जाता है ताकि उसका उपयोग प्रोग्रामिंग में विभिन्न गणनाओं व प्रक्रियाओं के लिए किया जा सके। वैरिएबल का उपयोग किसी मान को अस्थायी रूप से स्टोर करने के लिए किया जाता है।
वैरिएबल को उपयोग में लाने से पहले उसे घोषित करना आवश्यक होता है।
उदाहरण:
int a = 10;
float b = 20.5;
char c = 'A';
यहाँ a
एक integer वैरिएबल है, b
float प्रकार का और c
character
प्रकार का वैरिएबल है।
वैरिएबल नाम चुनते समय निम्न नियमों का पालन करना होता है:
·
नाम अक्षर या अंडरस्कोर (_) से प्रारंभ होना चाहिए।
·
इसमें केवल अल्फाबेट, अंक और अंडरस्कोर हो सकते हैं।
·
कोई कीवर्ड वैरिएबल नाम नहीं हो सकता।
प्रश्न 3: 'C' भाषा को मिडिल लैंग्वेज क्यों कहा जाता है? प्रकाश डालिए।
उत्तर: 'C'
भाषा को मिडिल लेवल लैंग्वेज (Middle Level Language) इसलिए कहा जाता है क्योंकि यह दोनों प्रकार की भाषाओं — हाई लेवल लैंग्वेज (HLL) और लो लेवल लैंग्वेज (LLL) — की विशेषताओं को समाहित करती है।
1.
हाई लेवल लैंग्वेज की विशेषताएं: C भाषा English जैसे सिंटैक्स को अपनाती है जिससे कोडिंग करना आसान होता है। उदाहरण: printf("Hello
World");
2.
लो लेवल लैंग्वेज की विशेषताएं: C भाषा से हार्डवेयर के नज़दीकी काम जैसे — मेमोरी एड्रेसिंग, बिट लेवल ऑपरेशन्स आदि किए जा सकते हैं।
इसलिए C को मिडिल लेवल भाषा कहा जाता है क्योंकि यह मशीन के नज़दीक भी है और प्रोग्रामर के लिए भी सरल है।
प्रश्न 4: 'C' भाषा क्या है?
उत्तर: 'C'
एक सामान्य प्रयोजन की प्रोग्रामिंग भाषा है जिसका उपयोग सिस्टम सॉफ्टवेयर और एप्लीकेशन सॉफ्टवेयर दोनों के निर्माण में किया जाता है। इसे 1972 में डेनिस रिची द्वारा बेल लैब्स में विकसित किया गया था।
यह भाषा स्ट्रक्चर्ड प्रोग्रामिंग का समर्थन करती है और इसकी मदद से हम मेमोरी को सीधे नियंत्रित कर सकते हैं। इसके अलावा, C भाषा की गति, दक्षता और पोर्टेबिलिटी इसे विशेष बनाती है। यही कारण है कि आज भी C भाषा का व्यापक रूप से उपयोग किया जाता है।
प्रश्न 5: 'C' भाषा का इतिहास क्या है?
उत्तर: C
भाषा का विकास 1972 में डेनिस रिची (Dennis Ritchie) द्वारा बेल टेलीफोन लैब्स (Bell Telephone Laboratories) में किया गया। इसका उद्देश्य UNIX ऑपरेटिंग सिस्टम के निर्माण में सहायता करना था। यह भाषा B भाषा से विकसित हुई थी जो खुद BCPL से प्रेरित थी।
C भाषा का विकास निम्नलिखित क्रम में हुआ:
1.
1960: ALGOL
का विकास हुआ।
2.
1967: BCPL
भाषा का विकास हुआ।
3.
1970: B
भाषा विकसित हुई।
4.
1972: C
भाषा की रचना हुई।
यह भाषा इतनी प्रभावशाली और लचीली थी कि UNIX ऑपरेटिंग सिस्टम का अधिकांश भाग C में ही लिखा गया। आज यह अधिकांश आधुनिक भाषाओं जैसे C++, Java, C# आदि की जननी मानी जाती है।
प्रश्न 6: 'C' भाषा में कैरेक्टर सेट क्या होते हैं? व्याख्या कीजिए।
उत्तर:
'C' भाषा में कैरेक्टर सेट का अर्थ है उन सभी अक्षरों, संख्याओं, और विशेष चिन्हों का समूह जिनका उपयोग प्रोग्राम लिखने में किया जाता है। यह कैरेक्टर सेट प्रोग्रामिंग की भाषा की आधारशिला होती है। यदि प्रोग्रामर इन कैरेक्टरों का सही और मान्य उपयोग नहीं करेगा तो प्रोग्राम
त्रुटिपूर्ण होगा।
'C' भाषा में कैरेक्टर सेट निम्नलिखित भागों में विभाजित किया जा सकता है:
1. अक्षर (Alphabets):
इसमें अंग्रेजी के छोटे और बड़े अक्षर शामिल होते हैं:
A
से Z
(बड़े अक्षर) और a
से z
(छोटे अक्षर)। ये नामों, कीवर्ड, वेरिएबल्स आदि में प्रयोग होते हैं।
2. अंक (Digits):
संख्याओं के लिए 0 से 9 तक के अंक शामिल होते हैं, जो गणनाओं और डेटा स्टोरिंग के लिए उपयोग किए जाते हैं।
3. विशेष चिन्ह (Special Symbols):
ये वे चिन्ह होते हैं जिनका उपयोग ऑपरेटर, पैरामीटर, फंक्शन कॉल आदि में किया जाता है, जैसे:
+
, -
, *
, /
, %
, =
, &
, |
, <
, >
, !
, ;
, ,
, {
, }
, (
, )
, #
, \
आदि।
4. विशेष कैरेक्टर (Escape Sequences):
ये ऐसे विशेष अक्षर होते हैं जो प्रोग्राम में विशेष कार्य करते हैं जैसे नई लाइन (New Line), टैब (Tab) आदि। उदाहरण:
\n
(नई लाइन के लिए), \t
(टैब के लिए), \\
(बैकस्लैश के लिए), \'
(सिंगल कोट के लिए), \"
(डबल कोट के लिए)।
यह कैरेक्टर
सेट प्रोग्रामिंग को सही ढंग से लिखने और समझने में मदद करता है।
प्रश्न 7: 'C' भाषा में डेटा टाइप क्या होते हैं? वर्णन कीजिए।
उत्तर:
'C' भाषा में डेटा टाइप यह निर्धारित करता है कि किसी वैरिएबल में किस प्रकार का डेटा स्टोर होगा। यह कंप्यूटर को बताता है कि मेमोरी में वह स्थान किस प्रकार से मैनेज करना है और उस डेटा के साथ कौन से ऑपरेशन किए जा सकते हैं।
'C' भाषा में मुख्यतः निम्न डेटा टाइप होते हैं:
1.
int (Integer):
पूर्णांक (जैसे 5, 100, -10) संग्रहित करने के लिए।
उदाहरण: int a = 10;
2.
float (Floating
Point):
दशमलव संख्या, जैसे 3.14, 0.25 आदि।
उदाहरण: float b = 20.5;
3.
char (Character):
एकल अक्षर या कैरेक्टर संग्रहित करने के लिए।
उदाहरण: char c = 'A';
4.
double (Double
Precision Floating Point):
float की तुलना में अधिक सटीक दशमलव संख्या के लिए।
उदाहरण: double d = 3.14159;
5.
void:
इसका प्रयोग फंक्शन के रिटर्न टाइप के रूप में किया जाता है, जो कोई मान लौटाता नहीं।
प्रत्येक डेटा टाइप की मेमोरी आवश्यकता अलग होती है जैसे कि int
4
बाइट मेमोरी ले सकता है, जबकि char
केवल 1 बाइट।
डेटा टाइप सही प्रकार से चुनने से प्रोग्राम की दक्षता और मेमोरी का सही उपयोग सुनिश्चित होता है।
प्रश्न 8: 'C' भाषा में कितने प्रकार के ऑपरेटर होते हैं? इनक्रिमेंट और डिक्रिमेंट ऑपरेटर को उदाहरण सहित लिखिए।
उत्तर:
'C' भाषा में विभिन्न प्रकार के ऑपरेटर होते हैं जो गणना, तुलना, तार्किक निर्णय आदि कार्यों में प्रयोग होते हैं। प्रमुख ऑपरेटरों के प्रकार इस प्रकार हैं:
1.
अंकगणितीय ऑपरेटर (Arithmetic Operators):
जैसे +, -, *, /, % (जोड़, घटाव, गुणा, भाग, शेषफल)।
2.
रिलेशनल ऑपरेटर (Relational Operators):
तुलना करने के लिए जैसे <, >, <=, >=, ==, !=।
3.
लॉजिकल ऑपरेटर (Logical Operators):
तार्किक निर्णय के लिए जैसे && (AND), || (OR), ! (NOT)।
4.
असाइनमेंट ऑपरेटर (Assignment Operators):
मान असाइन करने के लिए जैसे =, +=, -=, *=, /=।
5.
इनक्रिमेंट और डिक्रिमेंट ऑपरेटर (Increment & Decrement Operators):
ये ऑपरेटर वैरिएबल के मान को क्रमशः 1 से बढ़ाने या घटाने के लिए उपयोग होते हैं।
इनक्रिमेंट ऑपरेटर (++): यह वैरिएबल
के मान को 1 से बढ़ाता है।
डिक्रिमेंट ऑपरेटर (--): यह वैरिएबल के मान को 1 से घटाता है।
उदाहरण:
int i = 5;
i++; // i
का
मान
6
हो
जाएगा
i--; // i
का
मान
फिर
5
हो
जाएगा
इन ऑपरेटरों
का उपयोग लूप और काउंटिंग
जैसे कार्यों में बहुत आम है।
प्रश्न 9: 'C' भाषा में ऑपरेशन के आधार पर ऑपरेटर की व्याख्या कीजिए।
उत्तर:
'C' भाषा में ऑपरेटरों को उनके काम के आधार पर विभिन्न श्रेणियों में बाँटा जाता है। प्रत्येक श्रेणी के ऑपरेटर का विशेष उपयोग होता है:
1.
Arithmetic
Operators (अंकगणितीय ऑपरेटर):
गणितीय क्रियाएं जैसे जोड़, घटाव, गुणा, भाग आदि करते हैं।
उदाहरण: +, -, *, /, %
2.
Relational
Operators (संबंधात्मक ऑपरेटर):
दो मानों की तुलना करते हैं और सच/झूठ
(true/false) परिणाम देते हैं।
उदाहरण: <
(छोटा), >
(बड़ा), <=
, >=
, ==
(समानता), !=
(असमानता)।
3.
Logical Operators
(तार्किक ऑपरेटर):
तार्किक निर्णय के लिए उपयोग होते हैं।
उदाहरण: &&
(AND), ||
(OR), !
(NOT)।
4.
Assignment
Operators (असाइनमेंट ऑपरेटर):
वैरिएबल को मान असाइन करते हैं।
उदाहरण: =
, +=
(जोड़कर असाइन), -=
(घटाकर असाइन), *=
(गुणा कर असाइन), /=
(भाग कर असाइन)।
5.
Increment/Decrement
Operators:
जैसा प्रश्न 8 में बताया।
6.
Bitwise Operators
(बिटवाइज़ ऑपरेटर):
बिट स्तर पर ऑपरेशन करते हैं जैसे AND (&), OR (|), XOR (^), NOT (~), Left Shift
(<<), Right Shift (>>)।
इन ऑपरेटरों
की समझ से प्रोग्राम में जटिल गणनाएं और तार्किक
निर्णय आसानी से किए जा सकते हैं।
प्रश्न 10: अंकगणितीय ऑपरेटर क्या होते हैं? उदाहरण सहित व्याख्या कीजिए।
उत्तर:
अंकगणितीय ऑपरेटर वे चिन्ह होते हैं जिनका उपयोग संख्याओं पर गणितीय क्रियाएं करने के लिए किया जाता है। ये ऑपरेटर मुख्य रूप से संख्यात्मक मानों के बीच जोड़, घटाव, गुणा, भाग, और बाकी निकालने जैसे कार्य करते हैं।
'C' भाषा के प्रमुख अंकगणितीय ऑपरेटर:
· + (जोड़)
· - (घटाव)
· (गुणा)
· / (भाग)
· % (मॉड्यूलस, यानी भाग के बाद बचा शेष)
उदाहरण:
int a = 5, b = 3;
int sum = a + b; // sum = 8
int diff = a - b; // diff = 2
int mul = a * b; // mul = 15
int div = a / b; // div = 1 (
पूर्णांक
भाग
)
int mod = a % b; // mod = 2 (
शेष
)
अंकगणितीय ऑपरेटर प्रोग्रामिंग के मूलभूत हिस्से हैं, और इनकी सहायता से गणितीय समस्याओं का समाधान किया जाता है।
प्रश्न 11: 'C' भाषा में इनपुट आउटपुट क्या होते हैं? विस्तार से समझाइए।
उत्तर: प्रोग्राम में इनपुट (Input) और आउटपुट (Output) दो महत्वपूर्ण क्रियाएं हैं:
· इनपुट:
यह वह प्रक्रिया
है जिसके माध्यम से प्रोग्राम
उपयोगकर्ता या अन्य स्रोत से डेटा प्राप्त करता है।
· आउटपुट:
यह वह प्रक्रिया
है जिससे प्रोग्राम परिणाम या डेटा को स्क्रीन, प्रिंटर या अन्य डिवाइस पर दिखाता है।
'C' भाषा में इन दोनों कार्यों के लिए विशेष फंक्शन उपलब्ध हैं:
1. इनपुट के लिए: scanf()
उपयोगकर्ता से मान (जैसे संख्या, अक्षर) लेने के लिए।
2. आउटपुट के लिए: printf()
स्क्रीन पर टेक्स्ट
या मान प्रदर्शित करने के लिए।
उदाहरण:
int a;
printf("
कृपया
एक
संख्या
दर्ज
करें
: ");
scanf("%d", &a);
printf("
आपने
दर्ज
की
हुई
संख्या
है
: %d", a);
यहां scanf
का उपयोग संख्या इनपुट करने के लिए हुआ है, जबकि printf
का उपयोग परिणाम प्रदर्शित करने के लिए।
इनपुट-आउटपुट के बिना कोई भी इंटरैक्टिव प्रोग्राम नहीं बन सकता।
प्रश्न 12: फॉर्मेटेड इनपुट आउटपुट फंक्शन की व्याख्या
कीजिए।
उत्तर:
'C' भाषा में फॉर्मेटेड इनपुट-आउटपुट का मतलब है कि हम डेटा को विशेष फॉर्मेट या स्वरूप में इनपुट और आउटपुट करते हैं। इसके लिए scanf()
और printf()
फंक्शन का उपयोग किया जाता है, जो फॉर्मेट स्पेसिफायर (Format
Specifiers) की मदद से डेटा का प्रकार और स्वरूप निर्धारित करते हैं।
मुख्य फॉर्मेट स्पेसिफायर:
· %d
– integer संख्या के लिए
· %f
– float संख्या के लिए
· %c
– single character के लिए
· %s
– string के लिए
· %lf
– double के लिए
उदाहरण:
int a;
float b;
printf("
दो
नंबर
दर्ज
करें
:\n");
scanf("%d %f", &a, &b);
printf("
आपने
दर्ज
किया
है
: %d
और
%.2f", a, b);
यहाँ, %.2f
का अर्थ है कि float मान को 2 दशमलव स्थान तक दिखाया जाएगा।
फॉर्मेटेड इनपुट-आउटपुट से हम प्रोग्राम
को अधिक प्रभावी और यूजर-फ्रेंडली बना सकते हैं।
प्रश्न 13: 'C' भाषा में ब्रांचिंग स्टेटमेंट क्या है? उदाहरण सहित व्याख्या कीजिए।
उत्तर:
ब्रांचिंग स्टेटमेंट प्रोग्राम के फ्लो को किसी विशेष स्थिति के आधार पर बदलने के लिए उपयोग किए जाते हैं। जब किसी निर्णय या शर्त के आधार पर प्रोग्राम को अलग-अलग रास्तों पर चलाना हो, तब ब्रांचिंग
का उपयोग होता है।
'C' में मुख्य ब्रांचिंग स्टेटमेंट हैं:
· if
· if-else
· switch-case
उदाहरण (if स्टेटमेंट):
int a = 10, b = 20;
if (a > b) {
printf("a
बड़ा
है
");
} else {
printf("b
बड़ा
है
");
}
यह प्रोग्राम जांचता है कि कौन बड़ा है और उसके अनुसार संदेश दिखाता है।
ब्रांचिंग से प्रोग्राम में निर्णय लेना और विभिन्न क्रियाएं करना संभव होता है।
प्रश्न 14: 'C' भाषा में लूपिंग स्टेटमेंट क्या है? उदाहरण सहित व्याख्या कीजिए।
उत्तर:
लूपिंग स्टेटमेंट का उपयोग किसी क्रिया को बार-बार (repeatedly) करने के लिए किया जाता है, जब तक कोई शर्त सही रहती है। इससे बार-बार कोड लिखने की आवश्यकता नहीं होती।
'C' में मुख्य लूपिंग स्टेटमेंट:
· for loop
· while loop
· do-while loop
उदाहरण (for loop):
for (int i = 0; i < 5; i++) {
printf("%d ", i);
}
यह 0 से 4 तक के नंबर प्रिंट करेगा।
लूपिंग का उपयोग गणनाओं, डेटा प्रोसेसिंग, और ऑटोमेशन
में बहुत होता है।
प्रश्न 15: for loop और while loop में क्या अंतर है? दोनों के एक-एक उदाहरण दो।
उत्तर:
for loop और while loop दोनों लूपिंग के लिए उपयोग होते हैं, पर इनके उपयोग और संरचना में अंतर होता है:
विशेषता |
for loop |
while loop |
लूप कंट्रोल |
लूप
की शुरुआत में प्रारंभ, शर्त और परिवर्तन सभी लिखे जाते हैं। |
केवल
शर्त लूप के शुरुआत में होती है, बाकी कोड के अंदर। |
उपयोग |
जब
पुनरावृत्ति की संख्या ज्ञात हो। |
जब
पुनरावृत्ति की संख्या पूर्वानुमानित न हो। |
सिंटैक्स |
|
|
·
for loop उदाहरण:
for (int i = 0; i < 5; i++) {
printf("%d ", i);
}
printf("%d ", i);
}
·
while loop उदाहरण:
int i = 0;
while (i < 5) {
printf("%d ", i);
i++;
}
दोनों लूप समान कार्य कर सकते हैं, पर उनकी संरचना और उपयोग की परिस्थिति अलग होती है।
प्रश्न 16: 'C' भाषा में ऑपरेटर की परिभाषा कीजिए।
यह कितने प्रकार का होता है?
कहीं तीन प्रकार के उदाहरण सहित
व्याख्या कीजिए।
उत्तर:
ऑपरेटर वे चिन्ह या प्रतीक होते हैं जिनका उपयोग प्रोग्राम में किसी विशेष क्रिया को संपन्न करने के लिए किया जाता है। जैसे गणितीय क्रिया, तुलना, लॉजिक, असाइनमेंट आदि। ऑपरेटर अपने ऑपरेंड्स (डेटा) पर कार्य करते हैं।
'C' भाषा में ऑपरेटर कई प्रकार के होते हैं, मुख्य प्रकार हैं:
1. Arithmetic Operators (अंकगणितीय ऑपरेटर):
गणितीय क्रियाएं करते हैं।
उदाहरण: +
, -
, *
जैसे: a + b
दो मानों का योग करता है।
2. Relational Operators (संबंधात्मक ऑपरेटर):
तुलना करते हैं और true या false लौटाते हैं।
उदाहरण: >
, <
, ==
जैसे: a > b
जांचता है कि क्या a बड़ा है b से।
3. Logical Operators (तार्किक ऑपरेटर):
दो या अधिक शर्तों को जोड़ते या उलटते हैं।
उदाहरण: &&
(AND), ||
(OR)
जैसे: (a > 5) && (b < 10)
दोनों शर्तों को सत्यापित
करता है।
इसके अलावा भी अनेक ऑपरेटर होते हैं जैसे Bitwise, Assignment,
Increment/Decrement आदि।ऑपरेटर प्रोग्रामिंग की मूलभूत इकाइयाँ हैं, जिनसे हम विभिन्न गणना और निर्णय कर सकते हैं।
प्रश्न 1: 'C' भाषा के बुनियादी तत्व क्या हैं? इनकी व्याख्या कीजिए।
उत्तर: 'C'
भाषा के बुनियादी तत्व वे मूल घटक हैं जिनकी सहायता से एक पूर्ण प्रोग्राम तैयार किया जाता है। ये तत्व प्रोग्राम की संरचना को निर्धारित करते हैं और इनकी जानकारी हर एक प्रोग्रामर के लिए आवश्यक होती है। 'C' भाषा के मुख्य बुनियादी तत्व निम्नलिखित हैं:
1.
कैरेक्टर सेट (Character Set): इसमें अक्षर (A-Z, a-z), अंक (0-9), विशेष चिन्ह (@, #, $, %, ^ आदि), और अन्य प्रतीक शामिल होते हैं जिनका उपयोग कोड लिखने में किया जाता है।
2.
कीवर्ड (Keywords): ये आरक्षित शब्द होते हैं जिनका प्रयोग प्रोग्राम में किसी विशेष कार्य के लिए किया जाता है। उदाहरण: int
, float
, if
, else
, return
आदि।
3.
वैरिएबल (Variable): वैरिएबल एक नामित स्थान होता है जो किसी डेटा को अस्थायी रूप से संग्रहित करता है। उदाहरण: int a = 5;
4.
डेटा टाइप (Data Types): यह तय करता है कि वैरिएबल में किस प्रकार का डेटा संग्रहित होगा। मुख्यतः int
, float
, char
, double
आदि प्रकार होते हैं।
5.
ऑपरेटर (Operators): ये चिन्ह होते हैं जो गणनात्मक, तार्किक या संबंधात्मक कार्य करते हैं। जैसे +, -, *, /, <, >, == आदि।
6. स्टेटमेंट्स (Statements): ये निर्देश होते हैं जिनसे प्रोग्राम में विभिन्न क्रियाएं संपन्न होती हैं। उदाहरण: printf("Hello");
7. फंक्शन (Functions): ये कोड ब्लॉक्स होते हैं जिनसे विशेष कार्य करवाए जाते हैं। main()
C का मुख्य फंक्शन होता है।
प्रश्न 2: 'C' भाषा में वेरिएबल (Variable) की अवधारणा की व्याख्या कीजिए।
उत्तर: 'C'
भाषा में वैरिएबल वह नामित स्थान होता है जहाँ डेटा को संग्रहित किया जाता है ताकि उसका उपयोग प्रोग्रामिंग में विभिन्न गणनाओं व प्रक्रियाओं के लिए किया जा सके। वैरिएबल का उपयोग किसी मान को अस्थायी रूप से स्टोर करने के लिए किया जाता है।
वैरिएबल को उपयोग में लाने से पहले उसे घोषित करना आवश्यक होता है।
उदाहरण:
int a = 10;
float b = 20.5;
char c = 'A';
यहाँ a
एक integer वैरिएबल है, b
float प्रकार का और c
character
प्रकार का वैरिएबल है।
वैरिएबल नाम चुनते समय निम्न नियमों का पालन करना होता है:
·
नाम अक्षर या अंडरस्कोर (_) से प्रारंभ होना चाहिए।
·
इसमें केवल अल्फाबेट, अंक और अंडरस्कोर हो सकते हैं।
·
कोई कीवर्ड वैरिएबल नाम नहीं हो सकता।
प्रश्न 3: 'C' भाषा को मिडिल लैंग्वेज क्यों कहा जाता है? प्रकाश डालिए।
उत्तर: 'C'
भाषा को मिडिल लेवल लैंग्वेज (Middle Level Language) इसलिए कहा जाता है क्योंकि यह दोनों प्रकार की भाषाओं — हाई लेवल लैंग्वेज (HLL) और लो लेवल लैंग्वेज (LLL) — की विशेषताओं को समाहित करती है।
1.
हाई लेवल लैंग्वेज की विशेषताएं: C भाषा English जैसे सिंटैक्स को अपनाती है जिससे कोडिंग करना आसान होता है। उदाहरण: printf("Hello
World");
2.
लो लेवल लैंग्वेज की विशेषताएं: C भाषा से हार्डवेयर के नज़दीकी काम जैसे — मेमोरी एड्रेसिंग, बिट लेवल ऑपरेशन्स आदि किए जा सकते हैं।
इसलिए C को मिडिल लेवल भाषा कहा जाता है क्योंकि यह मशीन के नज़दीक भी है और प्रोग्रामर के लिए भी सरल है।
प्रश्न 4: 'C' भाषा क्या है?
उत्तर: 'C'
एक सामान्य प्रयोजन की प्रोग्रामिंग भाषा है जिसका उपयोग सिस्टम सॉफ्टवेयर और एप्लीकेशन सॉफ्टवेयर दोनों के निर्माण में किया जाता है। इसे 1972 में डेनिस रिची द्वारा बेल लैब्स में विकसित किया गया था।
यह भाषा स्ट्रक्चर्ड प्रोग्रामिंग का समर्थन करती है और इसकी मदद से हम मेमोरी को सीधे नियंत्रित कर सकते हैं। इसके अलावा, C भाषा की गति, दक्षता और पोर्टेबिलिटी इसे विशेष बनाती है। यही कारण है कि आज भी C भाषा का व्यापक रूप से उपयोग किया जाता है।
प्रश्न 5: 'C' भाषा का इतिहास क्या है?
उत्तर: C
भाषा का विकास 1972 में डेनिस रिची (Dennis Ritchie) द्वारा बेल टेलीफोन लैब्स (Bell Telephone Laboratories) में किया गया। इसका उद्देश्य UNIX ऑपरेटिंग सिस्टम के निर्माण में सहायता करना था। यह भाषा B भाषा से विकसित हुई थी जो खुद BCPL से प्रेरित थी।
C भाषा का विकास निम्नलिखित क्रम में हुआ:
1.
1960: ALGOL
का विकास हुआ।
2.
1967: BCPL
भाषा का विकास हुआ।
3.
1970: B
भाषा विकसित हुई।
4.
1972: C
भाषा की रचना हुई।
यह भाषा इतनी प्रभावशाली और लचीली थी कि UNIX ऑपरेटिंग सिस्टम का अधिकांश भाग C में ही लिखा गया। आज यह अधिकांश आधुनिक भाषाओं जैसे C++, Java, C# आदि की जननी मानी जाती है।
प्रश्न 6: 'C' भाषा में कैरेक्टर सेट क्या होते हैं? व्याख्या कीजिए।
उत्तर:
'C' भाषा में कैरेक्टर सेट का अर्थ है उन सभी अक्षरों, संख्याओं, और विशेष चिन्हों का समूह जिनका उपयोग प्रोग्राम लिखने में किया जाता है। यह कैरेक्टर सेट प्रोग्रामिंग की भाषा की आधारशिला होती है। यदि प्रोग्रामर इन कैरेक्टरों का सही और मान्य उपयोग नहीं करेगा तो प्रोग्राम
त्रुटिपूर्ण होगा।
'C' भाषा में कैरेक्टर सेट निम्नलिखित भागों में विभाजित किया जा सकता है:
1. अक्षर (Alphabets):
इसमें अंग्रेजी के छोटे और बड़े अक्षर शामिल होते हैं:
A
से Z
(बड़े अक्षर) और a
से z
(छोटे अक्षर)। ये नामों, कीवर्ड, वेरिएबल्स आदि में प्रयोग होते हैं।
2. अंक (Digits):
संख्याओं के लिए 0 से 9 तक के अंक शामिल होते हैं, जो गणनाओं और डेटा स्टोरिंग के लिए उपयोग किए जाते हैं।
3. विशेष चिन्ह (Special Symbols):
ये वे चिन्ह होते हैं जिनका उपयोग ऑपरेटर, पैरामीटर, फंक्शन कॉल आदि में किया जाता है, जैसे:
+
, -
, *
, /
, %
, =
, &
, |
, <
, >
, !
, ;
, ,
, {
, }
, (
, )
, #
, \
आदि।
4. विशेष कैरेक्टर (Escape Sequences):
ये ऐसे विशेष अक्षर होते हैं जो प्रोग्राम में विशेष कार्य करते हैं जैसे नई लाइन (New Line), टैब (Tab) आदि। उदाहरण:
\n
(नई लाइन के लिए), \t
(टैब के लिए), \\
(बैकस्लैश के लिए), \'
(सिंगल कोट के लिए), \"
(डबल कोट के लिए)।
यह कैरेक्टर
सेट प्रोग्रामिंग को सही ढंग से लिखने और समझने में मदद करता है।
प्रश्न 7: 'C' भाषा में डेटा टाइप क्या होते हैं? वर्णन कीजिए।
उत्तर:
'C' भाषा में डेटा टाइप यह निर्धारित करता है कि किसी वैरिएबल में किस प्रकार का डेटा स्टोर होगा। यह कंप्यूटर को बताता है कि मेमोरी में वह स्थान किस प्रकार से मैनेज करना है और उस डेटा के साथ कौन से ऑपरेशन किए जा सकते हैं।
'C' भाषा में मुख्यतः निम्न डेटा टाइप होते हैं:
1.
int (Integer):
पूर्णांक (जैसे 5, 100, -10) संग्रहित करने के लिए।
उदाहरण: int a = 10;
2.
float (Floating
Point):
दशमलव संख्या, जैसे 3.14, 0.25 आदि।
उदाहरण: float b = 20.5;
3.
char (Character):
एकल अक्षर या कैरेक्टर संग्रहित करने के लिए।
उदाहरण: char c = 'A';
4.
double (Double
Precision Floating Point):
float की तुलना में अधिक सटीक दशमलव संख्या के लिए।
उदाहरण: double d = 3.14159;
5.
void:
इसका प्रयोग फंक्शन के रिटर्न टाइप के रूप में किया जाता है, जो कोई मान लौटाता नहीं।
प्रत्येक डेटा टाइप की मेमोरी आवश्यकता अलग होती है जैसे कि int
4
बाइट मेमोरी ले सकता है, जबकि char
केवल 1 बाइट।
डेटा टाइप सही प्रकार से चुनने से प्रोग्राम की दक्षता और मेमोरी का सही उपयोग सुनिश्चित होता है।
प्रश्न 8: 'C' भाषा में कितने प्रकार के ऑपरेटर होते हैं? इनक्रिमेंट और डिक्रिमेंट ऑपरेटर को उदाहरण सहित लिखिए।
उत्तर:
'C' भाषा में विभिन्न प्रकार के ऑपरेटर होते हैं जो गणना, तुलना, तार्किक निर्णय आदि कार्यों में प्रयोग होते हैं। प्रमुख ऑपरेटरों के प्रकार इस प्रकार हैं:
1.
अंकगणितीय ऑपरेटर (Arithmetic Operators):
जैसे +, -, *, /, % (जोड़, घटाव, गुणा, भाग, शेषफल)।
2.
रिलेशनल ऑपरेटर (Relational Operators):
तुलना करने के लिए जैसे <, >, <=, >=, ==, !=।
3.
लॉजिकल ऑपरेटर (Logical Operators):
तार्किक निर्णय के लिए जैसे && (AND), || (OR), ! (NOT)।
4.
असाइनमेंट ऑपरेटर (Assignment Operators):
मान असाइन करने के लिए जैसे =, +=, -=, *=, /=।
5.
इनक्रिमेंट और डिक्रिमेंट ऑपरेटर (Increment & Decrement Operators):
ये ऑपरेटर वैरिएबल के मान को क्रमशः 1 से बढ़ाने या घटाने के लिए उपयोग होते हैं।
इनक्रिमेंट ऑपरेटर (++): यह वैरिएबल
के मान को 1 से बढ़ाता है।
डिक्रिमेंट ऑपरेटर (--): यह वैरिएबल के मान को 1 से घटाता है।
उदाहरण:
int i = 5;
i++; // i
का
मान
6
हो
जाएगा
i--; // i
का
मान
फिर
5
हो
जाएगा
इन ऑपरेटरों
का उपयोग लूप और काउंटिंग
जैसे कार्यों में बहुत आम है।
प्रश्न 9: 'C' भाषा में ऑपरेशन के आधार पर ऑपरेटर की व्याख्या कीजिए।
उत्तर:
'C' भाषा में ऑपरेटरों को उनके काम के आधार पर विभिन्न श्रेणियों में बाँटा जाता है। प्रत्येक श्रेणी के ऑपरेटर का विशेष उपयोग होता है:
1.
Arithmetic
Operators (अंकगणितीय ऑपरेटर):
गणितीय क्रियाएं जैसे जोड़, घटाव, गुणा, भाग आदि करते हैं।
उदाहरण: +, -, *, /, %
2.
Relational
Operators (संबंधात्मक ऑपरेटर):
दो मानों की तुलना करते हैं और सच/झूठ
(true/false) परिणाम देते हैं।
उदाहरण: <
(छोटा), >
(बड़ा), <=
, >=
, ==
(समानता), !=
(असमानता)।
3.
Logical Operators
(तार्किक ऑपरेटर):
तार्किक निर्णय के लिए उपयोग होते हैं।
उदाहरण: &&
(AND), ||
(OR), !
(NOT)।
4.
Assignment
Operators (असाइनमेंट ऑपरेटर):
वैरिएबल को मान असाइन करते हैं।
उदाहरण: =
, +=
(जोड़कर असाइन), -=
(घटाकर असाइन), *=
(गुणा कर असाइन), /=
(भाग कर असाइन)।
5.
Increment/Decrement
Operators:
जैसा प्रश्न 8 में बताया।
6.
Bitwise Operators
(बिटवाइज़ ऑपरेटर):
बिट स्तर पर ऑपरेशन करते हैं जैसे AND (&), OR (|), XOR (^), NOT (~), Left Shift
(<<), Right Shift (>>)।
इन ऑपरेटरों
की समझ से प्रोग्राम में जटिल गणनाएं और तार्किक
निर्णय आसानी से किए जा सकते हैं।
प्रश्न 10: अंकगणितीय ऑपरेटर क्या होते हैं? उदाहरण सहित व्याख्या कीजिए।
उत्तर:
अंकगणितीय ऑपरेटर वे चिन्ह होते हैं जिनका उपयोग संख्याओं पर गणितीय क्रियाएं करने के लिए किया जाता है। ये ऑपरेटर मुख्य रूप से संख्यात्मक मानों के बीच जोड़, घटाव, गुणा, भाग, और बाकी निकालने जैसे कार्य करते हैं।
'C' भाषा के प्रमुख अंकगणितीय ऑपरेटर:
· + (जोड़)
· - (घटाव)
· (गुणा)
· / (भाग)
· % (मॉड्यूलस, यानी भाग के बाद बचा शेष)
उदाहरण:
int a = 5, b = 3;
int sum = a + b; // sum = 8
int diff = a - b; // diff = 2
int mul = a * b; // mul = 15
int div = a / b; // div = 1 (
पूर्णांक
भाग
)
int mod = a % b; // mod = 2 (
शेष
)
अंकगणितीय ऑपरेटर प्रोग्रामिंग के मूलभूत हिस्से हैं, और इनकी सहायता से गणितीय समस्याओं का समाधान किया जाता है।
प्रश्न 11: 'C' भाषा में इनपुट आउटपुट क्या होते हैं? विस्तार से समझाइए।
उत्तर: प्रोग्राम में इनपुट (Input) और आउटपुट (Output) दो महत्वपूर्ण क्रियाएं हैं:
· इनपुट:
यह वह प्रक्रिया
है जिसके माध्यम से प्रोग्राम
उपयोगकर्ता या अन्य स्रोत से डेटा प्राप्त करता है।
· आउटपुट:
यह वह प्रक्रिया
है जिससे प्रोग्राम परिणाम या डेटा को स्क्रीन, प्रिंटर या अन्य डिवाइस पर दिखाता है।
'C' भाषा में इन दोनों कार्यों के लिए विशेष फंक्शन उपलब्ध हैं:
1. इनपुट के लिए: scanf()
उपयोगकर्ता से मान (जैसे संख्या, अक्षर) लेने के लिए।
2. आउटपुट के लिए: printf()
स्क्रीन पर टेक्स्ट
या मान प्रदर्शित करने के लिए।
उदाहरण:
int a;
printf("
कृपया
एक
संख्या
दर्ज
करें
: ");
scanf("%d", &a);
printf("
आपने
दर्ज
की
हुई
संख्या
है
: %d", a);
यहां scanf
का उपयोग संख्या इनपुट करने के लिए हुआ है, जबकि printf
का उपयोग परिणाम प्रदर्शित करने के लिए।
इनपुट-आउटपुट के बिना कोई भी इंटरैक्टिव प्रोग्राम नहीं बन सकता।
प्रश्न 12: फॉर्मेटेड इनपुट आउटपुट फंक्शन की व्याख्या
कीजिए।
उत्तर:
'C' भाषा में फॉर्मेटेड इनपुट-आउटपुट का मतलब है कि हम डेटा को विशेष फॉर्मेट या स्वरूप में इनपुट और आउटपुट करते हैं। इसके लिए scanf()
और printf()
फंक्शन का उपयोग किया जाता है, जो फॉर्मेट स्पेसिफायर (Format
Specifiers) की मदद से डेटा का प्रकार और स्वरूप निर्धारित करते हैं।
मुख्य फॉर्मेट स्पेसिफायर:
· %d
– integer संख्या के लिए
· %f
– float संख्या के लिए
· %c
– single character के लिए
· %s
– string के लिए
· %lf
– double के लिए
उदाहरण:
int a;
float b;
printf("
दो
नंबर
दर्ज
करें
:\n");
scanf("%d %f", &a, &b);
printf("
आपने
दर्ज
किया
है
: %d
और
%.2f", a, b);
यहाँ, %.2f
का अर्थ है कि float मान को 2 दशमलव स्थान तक दिखाया जाएगा।
फॉर्मेटेड इनपुट-आउटपुट से हम प्रोग्राम
को अधिक प्रभावी और यूजर-फ्रेंडली बना सकते हैं।
प्रश्न 13: 'C' भाषा में ब्रांचिंग स्टेटमेंट क्या है? उदाहरण सहित व्याख्या कीजिए।
उत्तर:
ब्रांचिंग स्टेटमेंट प्रोग्राम के फ्लो को किसी विशेष स्थिति के आधार पर बदलने के लिए उपयोग किए जाते हैं। जब किसी निर्णय या शर्त के आधार पर प्रोग्राम को अलग-अलग रास्तों पर चलाना हो, तब ब्रांचिंग
का उपयोग होता है।
'C' में मुख्य ब्रांचिंग स्टेटमेंट हैं:
· if
· if-else
· switch-case
उदाहरण (if स्टेटमेंट):
int a = 10, b = 20;
if (a > b) {
printf("a
बड़ा
है
");
} else {
printf("b
बड़ा
है
");
}
यह प्रोग्राम जांचता है कि कौन बड़ा है और उसके अनुसार संदेश दिखाता है।
ब्रांचिंग से प्रोग्राम में निर्णय लेना और विभिन्न क्रियाएं करना संभव होता है।
प्रश्न 14: 'C' भाषा में लूपिंग स्टेटमेंट क्या है? उदाहरण सहित व्याख्या कीजिए।
उत्तर:
लूपिंग स्टेटमेंट का उपयोग किसी क्रिया को बार-बार (repeatedly) करने के लिए किया जाता है, जब तक कोई शर्त सही रहती है। इससे बार-बार कोड लिखने की आवश्यकता नहीं होती।
'C' में मुख्य लूपिंग स्टेटमेंट:
· for loop
· while loop
· do-while loop
उदाहरण (for loop):
for (int i = 0; i < 5; i++) {
printf("%d ", i);
}
यह 0 से 4 तक के नंबर प्रिंट करेगा।
लूपिंग का उपयोग गणनाओं, डेटा प्रोसेसिंग, और ऑटोमेशन
में बहुत होता है।
प्रश्न 15: for loop और while loop में क्या अंतर है? दोनों के एक-एक उदाहरण दो।
उत्तर:
for loop और while loop दोनों लूपिंग के लिए उपयोग होते हैं, पर इनके उपयोग और संरचना में अंतर होता है:
विशेषता |
for loop |
while loop |
लूप कंट्रोल |
लूप
की शुरुआत में प्रारंभ, शर्त और परिवर्तन सभी लिखे जाते हैं। |
केवल
शर्त लूप के शुरुआत में होती है, बाकी कोड के अंदर। |
उपयोग |
जब
पुनरावृत्ति की संख्या ज्ञात हो। |
जब
पुनरावृत्ति की संख्या पूर्वानुमानित न हो। |
सिंटैक्स |
|
|
·
for loop उदाहरण:
for (int i = 0; i < 5; i++) {
printf("%d ", i);
}
printf("%d ", i);
}
·
while loop उदाहरण:
int i = 0;
while (i < 5) {
printf("%d ", i);
i++;
}
दोनों लूप समान कार्य कर सकते हैं, पर उनकी संरचना और उपयोग की परिस्थिति अलग होती है।
प्रश्न 16: 'C' भाषा में ऑपरेटर की परिभाषा कीजिए। यह कितने प्रकार का होता है? कहीं तीन प्रकार के उदाहरण सहित व्याख्या कीजिए।
उत्तर:
ऑपरेटर वे चिन्ह या प्रतीक होते हैं जिनका उपयोग प्रोग्राम में किसी विशेष क्रिया को संपन्न करने के लिए किया जाता है। जैसे गणितीय क्रिया, तुलना, लॉजिक, असाइनमेंट आदि। ऑपरेटर अपने ऑपरेंड्स (डेटा) पर कार्य करते हैं।
'C' भाषा में ऑपरेटर कई प्रकार के होते हैं, मुख्य प्रकार हैं:
1. Arithmetic Operators (अंकगणितीय ऑपरेटर):
गणितीय क्रियाएं करते हैं।
उदाहरण: +
, -
, *
जैसे: a + b
दो मानों का योग करता है।
2. Relational Operators (संबंधात्मक ऑपरेटर):
तुलना करते हैं और true या false लौटाते हैं।
उदाहरण: >
, <
, ==
जैसे: a > b
जांचता है कि क्या a बड़ा है b से।
3. Logical Operators (तार्किक ऑपरेटर):
दो या अधिक शर्तों को जोड़ते या उलटते हैं।
उदाहरण: &&
(AND), ||
(OR)
जैसे: (a > 5) && (b < 10)
दोनों शर्तों को सत्यापित
करता है।
इसके अलावा भी अनेक ऑपरेटर होते हैं जैसे Bitwise, Assignment,
Increment/Decrement आदि।ऑपरेटर प्रोग्रामिंग की मूलभूत इकाइयाँ हैं, जिनसे हम विभिन्न गणना और निर्णय कर सकते हैं।
लघु उत्तरीय प्रश्न (Short Answer Questions)
प्रश्न 1: 'C' प्रोग्रामिंग भाषा का उपयोग कहाँ-कहाँ होता है?
उत्तर:'C' भाषा का उपयोग मुख्यतः सिस्टम प्रोग्रामिंग, एम्बेडेड सिस्टम, ऑपरेटिंग सिस्टम, गेम डेवलपमेंट, कंपाइलर निर्माण, और नेटवर्क ड्राइवरों में किया जाता है। यह भाषा तेज, सुरक्षित और हार्डवेयर के नजदीक होने के कारण प्रोफेशनल डेवलपर्स द्वारा व्यापक रूप से इस्तेमाल होती है।
प्रश्न 2: 'C' भाषा के कितने वैरिएबल होते हैं?
उत्तर:'C' भाषा में वैरिएबल को डेटा के प्रकार के आधार पर वर्गीकृत किया जाता है, जैसे:
-
int (पूर्णांक वैरिएबल)
-
float (दशमलव मान)
-
char (अक्षर)
-
double (उच्च सटीकता वाला दशमलव)
-
user-defined types (struct, union)
इन सभी वैरिएबल्स को उपयोग के अनुसार घोषित किया जाता है।
प्रश्न 3: 'C' भाषा में कितने कीवर्ड हैं?
उत्तर:'C' भाषा में कुल 32 कीवर्ड होते हैं, जैसे —
int
, char
, if
, else
, for
, while
, return
, break
, आदि। ये कीवर्ड पहले से परिभाषित होते हैं और किसी अन्य कार्य के लिए उपयोग नहीं किए जा सकते।प्रश्न 4: 'C' भाषा में Variable का दायरा क्या है?
उत्तर:वैरिएबल का दायरा (Scope) यह निर्धारित करता है कि उस वैरिएबल को प्रोग्राम में कहाँ-कहाँ से एक्सेस किया जा सकता है।
मुख्यतः तीन प्रकार के स्कोप होते हैं:
-
Local Variable: किसी ब्लॉक या फंक्शन के अंदर उपयोग के लिए।
-
Global Variable: पूरे प्रोग्राम में किसी भी स्थान से एक्सेस किया जा सकता है।
-
Static Variable: एक बार घोषित होकर पूरे फंक्शन में स्थिर रहता है।
प्रश्न 5: लॉजिकल ऑपरेटर क्या होते हैं? उदाहरण सहित समझाइये।
उत्तर:लॉजिकल ऑपरेटर का उपयोग दो या अधिक शर्तों को जोड़ने या निर्णय लेने में होता है।
प्रमुख लॉजिकल ऑपरेटर:
-
&&
(AND) -
||
(OR) -
!
(NOT)
उदाहरण:
प्रश्न 6: कंडीशनल ऑपरेटर का उपयोग कहाँ होता है?
उत्तर:कंडीशनल ऑपरेटर (?:) का उपयोग शॉर्ट डिसीजन या टर्नरी निर्णय लेने के लिए होता है।
सिंटैक्स:
उदाहरण:
प्रश्न 7: बिटवाइज ऑपरेटर क्या होते हैं? उदाहरण सहित व्याख्या करिये।
उत्तर:बिटवाइज ऑपरेटर डेटा को बिट स्तर पर नियंत्रित करने के लिए होते हैं। ये निम्न हैं:
-
&
(AND) -
|
(OR) -
^
(XOR) -
~
(NOT) -
<<
(Left Shift) -
>>
(Right Shift)
उदाहरण:
प्रश्न 8: स्पेशल ऑपरेटर क्या होते हैं? व्याख्या करिये।
उत्तर:स्पेशल ऑपरेटर वे होते हैं जो सामान्य ऑपरेटरों से अलग विशिष्ट कार्य करते हैं:
-
Pointer operator (
*
,&
) -
Sizeof operator
-
Comma operator (
,
) -
Ternary operator (
? :
)
ये ऑपरेटर एडवांस प्रोग्रामिंग के लिए उपयोगी होते हैं।
प्रश्न 9: getch() function का उपयोग कहाँ किया जाता है?
उत्तर:getch()
फंक्शन का उपयोग कीबोर्ड से एक कैरेक्टर इनपुट लेने और स्क्रीन पर आउटपुट रुकवाने के लिए होता है। यह आमतौर पर प्रोग्राम के अंत में उपयोग होता है ताकि आउटपुट देखने के बाद प्रोग्राम बंद हो।प्रश्न 10: अनफॉर्मेटेड इनपुट आउटपुट फंक्शन क्या होते हैं?
उत्तर:अनफॉर्मेटेड इनपुट/आउटपुट फंक्शन ऐसे फंक्शन होते हैं जो बिना किसी विशेष स्वरूप के कैरेक्टर या स्ट्रिंग को इनपुट/आउटपुट करते हैं।
इनमें शामिल हैं:
-
getchar()
-
putchar()
-
gets()
-
puts()
प्रश्न 11: puts() function का उपयोग कब किया जाता है?
उत्तर:puts()
फंक्शन का उपयोग स्ट्रिंग को स्क्रीन पर प्रिंट करने के लिए किया जाता है। यह printf()
जैसा ही है लेकिन अंत में अपने आप नई लाइन शामिल कर देता है।प्रश्न 12: scanf() function का उपयोग कब किया जाता है?
उत्तर:
scanf()
फंक्शन का उपयोग C प्रोग्राम में उपयोगकर्ता से इनपुट लेने के लिए किया जाता है। यह मान को वैरिएबल में स्टोर करता है।
उदाहरण:
प्रश्न 13: फॉर्मेटेड इनपुट आउटपुट फंक्शन क्या होते हैं?
उत्तर:फॉर्मेटेड इनपुट आउटपुट फंक्शन वो होते हैं जिनमें डेटा किसी विशेष स्वरूप (format) में लिया और दिखाया जाता है। जैसे –
printf()
और scanf()
।प्रश्न 14: एक प्रोग्राम लिखिए जिसमें 20 तक की संख्याओं का योग आउटपुट में छपे।
प्रश्न 15: while loop का प्रयोग करके एक प्रोग्राम लिखिए जिसमें 3 का टेबल छपे।
प्रश्न 16: for loop का प्रयोग करके एक प्रोग्राम लिखिए जिसमें प्रथम 10 प्राकृतिक संख्याओं का योग छपे।
प्रश्न 17: do while loop का प्रयोग करके एक प्रोग्राम लिखिए जिसमें 4 का टेबल छपे।
प्रश्न 18: while loop का फ्लोचार्ट बनाइये और एक प्रोग्राम लिखिए जिसमें प्रथम 10 सम संख्याओं का योगफल छपे।
उत्तर (प्रोग्राम):
प्रश्न 19: for loop का फ्लोचार्ट बनाइये और एक प्रोग्राम लिखिए जिसमें प्रथम 10 विषम संख्याओं का योगफल छपे।
प्रश्न 20: for loop का उपयोग करके एक प्रोग्राम लिखिए जिसमें प्रथम 10 अभाज्य संख्याओं का योगफल छपे।
प्रश्न 21: while loop का उपयोग करके एक प्रोग्राम लिखिए जिसमें प्रथम 10 धन पूर्णांकों का योगफल छपे।
प्रश्न 22: 'C' भाषा में जंपिंग स्टेटमेंट्स क्या होते हैं?
उत्तर:'C' भाषा में जंपिंग स्टेटमेंट्स का उपयोग प्रोग्राम के फ्लो को नियंत्रित करने के लिए होता है।
मुख्य जंपिंग स्टेटमेंट्स:
-
break
-
continue
-
goto
-
return
ये स्टेटमेंट्स प्रोग्राम के सामान्य क्रम को तोड़कर किसी अन्य स्थान पर नियंत्रण स्थानांतरित करते हैं।
प्रश्न 23: सही से आप क्या समझते हैं?
उत्तर:सही (True) प्रोग्रामिंग में एक तार्किक स्थिति होती है जिसका मूल्यांकन करने पर परिणाम "सत्य" या 1 होता है। यदि कोई कंडीशन सही हो तो उसे true कहा जाता है, अन्यथा false (0)।
उदाहरण:
प्रश्न 24: लॉजिकल ऑपरेटर कौन-कौन से हैं? उदाहरण दीजिए।
उत्तर:लॉजिकल ऑपरेटर C भाषा में निर्णय लेने के लिए प्रयुक्त होते हैं। मुख्य ऑपरेटर हैं:
-
&&
(AND): दोनों शर्तें सही होनी चाहिए -
||
(OR): किसी एक शर्त का सही होना काफी है -
!
(NOT): शर्त को उल्टा कर देता है
उदाहरण: